home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Genie / Projects / Pedestal / Source / Includes / PedTask.hh < prev    next >
Encoding:
Text File  |  2000-06-24  |  935 b   |  46 lines

  1. /*    ==========
  2.  *    PedTask.hh
  3.  *    ==========
  4.  *    
  5.  *    Implemented by PedTask.cc
  6.  */
  7.  
  8. #pragma once
  9.  
  10. #include "NGLList.hh"
  11.  
  12. #include "PedObject.hh"
  13.  
  14. class PedChore;
  15.  
  16. typedef NGLList<PedChore *> PedQueueChore;
  17.  
  18. class PedTask : public PedObject {
  19. public:
  20.     PedTask(PedTask *inParent);
  21.     virtual ~PedTask();
  22.     
  23.     virtual const char *Name() const;
  24.     virtual void SetName(const char *inName);
  25.     
  26.     virtual void AddSubtask(PedTask *inTask);
  27.     virtual void RemoveSubtask(PedTask *inTask);
  28.     
  29.     virtual void ScheduleRepeatChore(PedChore *inChore);
  30.     virtual void UnscheduleRepeatChore(PedChore *inChore);
  31.     virtual void ScheduleIdleChore(PedChore *inChore);
  32.     virtual void UnscheduleIdleChore(PedChore *inChore);
  33.     
  34.     virtual void DoRepeatChores();
  35.     virtual void DoIdleChores();
  36.     
  37.     virtual void RunQueue(PedQueueChore &inQueue);
  38.     
  39. protected:
  40.     PedTask *mParent;
  41.     char *mName;
  42.     NGLList<PedTask *> mSubTasks;
  43.     PedQueueChore mRepeatQueue;
  44.     PedQueueChore mIdleQueue;
  45. };
  46.